package com.iplant.ams.service.po.dms.maintenance;

import com.fasterxml.jackson.annotation.JsonProperty;
import com.iplant.base.po.BasePO;
import com.iplant.base.po.enums.DBSchemas;
import com.iplant.base.utils.annotation.po.DBBasePO;
import com.iplant.base.utils.annotation.condition.DBCondition;
import com.iplant.base.utils.annotation.field.DBField;
import com.iplant.base.utils.annotation.join.DBJoin;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

/**
 * 保养步骤
 *
 * @author YouWang·Peng
 * 2022-8-8 09:20:21
 */
@DBBasePO(TableName = "dms_maintenance_step", Schemas = DBSchemas.AMS, CheckName = {"Code", "MaintenanceItemID,Name"}
        , CodePrefix = "DMSP-", CodeAuto = true)
public class DMSMaintenanceStep extends BasePO implements Serializable {
    private static final long serialVersionUID = 1L;

    /**
     * 保养项ID
     **/
    @DBCondition
    @DBField
    public int MaintenanceItemID = 0;
    /**
     * 保养项名称
     **/
    @DBJoin(name = "Name", tableName = "dms_maintenance_item", tableAsName = "dms_maintenance_item1", Schemas =
            DBSchemas.AMS,
            MainTableField = "MaintenanceItemID")
    public String MaintenanceItemName = "";
    @DBJoin(name = "Code", tableName = "dms_maintenance_item", tableAsName = "dms_maintenance_item1", Schemas =
            DBSchemas.AMS,
            MainTableField = "MaintenanceItemID")
    public String MaintenanceItemCode = "";

    /**
     * 工装列表
     **/
    @DBField
    public List<Integer> FrockToolList = new ArrayList<>();
    /**
     * 工装名称
     */
    public String FrockToolNames = "";
    /**
     * 量器具ID集合
     */
    @DBField
    public List<Integer> MeasureToolList = new ArrayList<>();
    /**
     * 量器具名称
     */
    public String MeasureToolNames = "";

    /**
     * 作业指导书列表
     **/
    @DBField
    public List<String> SOPList = new ArrayList<>();
    /**
     * 资质ID列表
     **/
    @DBField
    public List<Integer> QualificationsList = new ArrayList<>();
    /**
     * 资质名称
     */
    public String QualificationNames = "";
    /**
     * 顺序
     **/
    @DBField
    public int OrderID = 0;

    @JsonProperty("MaintenanceItemID")
    public int getMaintenanceItemID() {
        return MaintenanceItemID;
    }

    public void setMaintenanceItemID(int maintenanceItemID) {
        MaintenanceItemID = maintenanceItemID;
    }

    @JsonProperty("MaintenanceItemName")
    public String getMaintenanceItemName() {
        return MaintenanceItemName;
    }

    public void setMaintenanceItemName(String maintenanceItemName) {
        MaintenanceItemName = maintenanceItemName;
    }

    @JsonProperty("MaintenanceItemCode")
    public String getMaintenanceItemCode() {
        return MaintenanceItemCode;
    }

    public void setMaintenanceItemCode(String maintenanceItemCode) {
        MaintenanceItemCode = maintenanceItemCode;
    }

    @JsonProperty("FrockToolList")
    public List<Integer> getFrockToolList() {
        return FrockToolList;
    }

    public void setFrockToolList(List<Integer> frockToolList) {
        FrockToolList = frockToolList;
    }

    @JsonProperty("FrockToolNames")
    public String getFrockToolNames() {
        return FrockToolNames;
    }

    public void setFrockToolNames(String frockToolNames) {
        FrockToolNames = frockToolNames;
    }

    @JsonProperty("MeasureToolList")
    public List<Integer> getMeasureToolList() {
        return MeasureToolList;
    }

    public void setMeasureToolList(List<Integer> measureToolList) {
        MeasureToolList = measureToolList;
    }

    @JsonProperty("MeasureToolNames")
    public String getMeasureToolNames() {
        return MeasureToolNames;
    }

    public void setMeasureToolNames(String measureToolNames) {
        MeasureToolNames = measureToolNames;
    }

    @JsonProperty("SOPList")
    public List<String> getSOPList() {
        return SOPList;
    }

    public void setSOPList(List<String> SOPList) {
        this.SOPList = SOPList;
    }

    @JsonProperty("QualificationsList")
    public List<Integer> getQualificationsList() {
        return QualificationsList;
    }

    public void setQualificationsList(List<Integer> qualificationsList) {
        QualificationsList = qualificationsList;
    }

    @JsonProperty("QualificationNames")
    public String getQualificationNames() {
        return QualificationNames;
    }

    public void setQualificationNames(String qualificationNames) {
        QualificationNames = qualificationNames;
    }

    @JsonProperty("OrderID")
    public int getOrderID() {
        return OrderID;
    }

    public void setOrderID(int orderID) {
        OrderID = orderID;
    }
}
